#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

//int init_x = 10;
//int uninit_x;
//int main(int argc,char* argv[],char** environ){
//  int arr[5]={0};
//  void* ptr = malloc(4);
//  char* str = "abcdefg";
//
//  printf("1.代码区：%p\n",main);
//  printf("2.字符常量区：%p\n",str);
//  printf("3.已初始化全局数据：%p\n",&init_x);
//  printf("4.未初始化全局数据：%p\n",&uninit_x);
//  printf("5.堆区：%p %p\n",ptr,(char*)ptr+1);
//  printf("6.栈区：%p %p\n",arr,arr+1);
//  printf("7.命令行参数：%p\n",argv[0]);
//  printf("8.环境变量：%p\n",environ[0]);
//  return 0;
//}
//

//int val = 0;
//int main(){
//  pid_t id = fork();
//
//  if(id == 0){
//    //child
//    sleep(3); //先让子进程休眠，父进程跑代码
//    
//    printf("孩子val的值是：%d,val的地址是：%p\n",val,&val);
//  }
//  else{
//    val = 100;
//    printf("父亲val的值是：%d,val的地址是：%p\n",val,&val);
//    pid_t waitpid = wait(NULL);
//  }
//  return 0;
//}
